package com.hospital.service;

import com.hospital.entity.FollowUpGroup;
import com.hospital.entity.Patient;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface PatientService {
    /**
     * 查所有随访组对应的患者
     *
     * @param page    当前页
     * @param pageNum 每页显示条数
     * @param status  随访状态
     * @return 集合中的患者信息
     */
    public List<Patient> SelectAll(Integer page, Integer pageNum, String status);

    /**
     * 查所有患者数量
     *
     * @param status 随访状态
     * @return 患者数量
     */
    public Integer SelectAllCounts(String status);

    /**
     * 条件查询
     *
     * @param page          当前页
     * @param pageNum       每页显示条数
     * @param followUpGroup 随访组对象
     * @param patient       患者对象
     * @return 集合中的患者信息
     */
    public List<Patient> SelectLike(Integer page, Integer pageNum, FollowUpGroup followUpGroup, Patient patient);

    /**
     * 条件查询数量
     *
     * @param followUpGroup 随访组对象
     * @param patient       患者对象
     * @return 条件查询的数量
     */
    public Integer SelectLikeCount(FollowUpGroup followUpGroup, Patient patient);


    /**
     * 查一个患者信息
     *
     * @param id 患者primary key
     * @return 患者信息
     */
    public Patient SelectById(Integer id);

    /**
     * 修改患者信息
     *
     * @param patient 患者对象
     * @return 修改状态
     */
    public Integer Update(Patient patient);

    /**
     * 删除患者方法
     *
     * @param id 患者id
     * @return 删除状态
     */
    public Integer Delete(Integer id);

}
